QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

CONFIG += c++11

# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS

# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

SOURCES += \
    Basic/Calculus.cpp \
    Basic/Matrix.cpp \
    Basic/ODESolver.cpp \
    Basic/Polynomial.cpp \
    Basic/Quaternion.cpp \
    Basic/RungeKutta.cpp \
    Basic/Vector3f.cpp \
    Command/MiniCmd.cpp \
    Command/MiniParaHoleCmd.cpp \
    Handler/MiniBSplineCurveHandler.cpp \
    Handler/MiniBSplineSurfaceHandler.cpp \
    Handler/MiniCloudHandler.cpp \
    Handler/MiniDiscreteCurveHandler.cpp \
    Handler/MiniHandler.cpp \
    Handler/MiniMeshHandler.cpp \
    Handler/MiniParaCurveHandler.cpp \
    Handler/MiniParaSurfaceHandler.cpp \
    Object/MiniBSplineCurve.cpp \
    Object/MiniBSplineSurface.cpp \
    Object/MiniCloud.cpp \
    Object/MiniDiscreteCurve.cpp \
    Object/MiniMesh.cpp \
    Object/MiniObject.cpp \
    Object/MiniParaCurve.cpp \
    Object/MiniParaSurface.cpp \
    OpenGL/MiniCamera.cpp \
    OpenGL/MiniOpenGLWidget.cpp \
    main.cpp \
    MiniWindow.cpp

HEADERS += \
    Basic/Calculus.h \
    Basic/Matrix.h \
    Basic/ODESolver.h \
    Basic/Polynomial.h \
    Basic/Quaternion.h \
    Basic/RungeKutta.h \
    Basic/Vector3f.h \
    Command/MiniCmd.h \
    Command/MiniParaHoleCmd.h \
    Handler/MiniBSplineCurveHandler.h \
    Handler/MiniBSplineSurfaceHandler.h \
    Handler/MiniCloudHandler.h \
    Handler/MiniDiscreteCurveHandler.h \
    Handler/MiniHandler.h \
    Handler/MiniMeshHandler.h \
    Handler/MiniParaCurveHandler.h \
    Handler/MiniParaSurfaceHandler.h \
    MiniWindow.h \
    Object/MiniBSplineCurve.h \
    Object/MiniBSplineSurface.h \
    Object/MiniCloud.h \
    Object/MiniDiscreteCurve.h \
    Object/MiniMesh.h \
    Object/MiniObject.h \
    Object/MiniParaCurve.h \
    Object/MiniParaSurface.h \
    OpenGL/MiniCamera.h \
    OpenGL/MiniHandler.h \
    OpenGL/MiniOpenGLWidget.h \
    Test.h

INCLUDEPATH += \
    Basic/ \
    Object/ \
    OpenGL/ \
    Handler/ \
    D:/lib/Eigen3/include

FORMS += \
    MiniWindow.ui

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

RESOURCES += \
    MiniSpline.qrc
